
namespace Mbs.MessageService
{
    public sealed class ChooseSaveErrorResult
    {
        public bool IsRetry { get; private set; }
        public bool IsIgnore { get; private set; }
        public bool IsSaveAlternative { get { return AlternativeFileName != null; } }
        public string AlternativeFileName { get; private set; }

        private ChooseSaveErrorResult() { }

        public readonly static ChooseSaveErrorResult Retry = new ChooseSaveErrorResult { IsRetry = true };
        public readonly static ChooseSaveErrorResult Ignore = new ChooseSaveErrorResult { IsIgnore = true };
        public static ChooseSaveErrorResult SaveAlternative(string alternativeFileName)
        {
            return new ChooseSaveErrorResult { AlternativeFileName = alternativeFileName };
        }
    }
}
